//===================================
//File: Image.h
//Description image
//Name: Smirnova O.P.
//Date: 28.06.12, v.1.1
//===================================
#ifndef IMAGE_H
#define IMAGE_H
#include <iostream>
#include "Throat.h"
#include "Body.h"
#include "List.h"

class Image{
protected:
	Throat throat; // горловина
    Body body; // тело
	List<Point> * points;
	unsigned int id;
	
    static unsigned int count;
    static unsigned int count_all;
	friend std::ostream& operator << (std::ostream&, const Image&);

public:
	Image(){};
	Image(Body body,Throat throat);
	virtual ~Image();
	virtual void moveTo(const Point p);
	virtual void moveTodXdY(const double x, const double y);
	virtual void consSF (const Point p);
	List<Point> * getPoints() const;
	Body getBody()const;
    Throat getThroat()const;
	
	int operator >(int);
	const unsigned int getID();
    static unsigned int countObject();
};

#endif
